// 从 vue 模块中导入 createApp 函数
import { createApp } from 'vue';

// 从 vue-router 模块中导入 createRouter 函数
import { createRouter , createWebHashHistory } from 'vue-router' ;

// 导入 ElementPlus 组件
import ElementPlus from 'element-plus' ;
// 导入 ElementPlus 组件的样式文件
import 'element-plus/dist/index.css' ;

// 导入根组件
import App from './App.vue' ;

// 2. 定义路由(多个路由被定义在一个数组中)
// import routes from '@/routes/index.js' ;
import routes from '@/routes' ; // 等同于上一行被注释的代码

// 3、创建 路由实例 并传递 `routes` 配置
const router = createRouter({
    // routes 是 routes: routes 的缩写( ES6 )
    routes ,
    // 指定 history 使用的模式:
    // createWebHashHistory 表示 hash 模式
    // createWebHistory 表示使用普通的网址形式
    history: createWebHashHistory()
});

// 全局前置守卫
router.beforeEach((to, from) => {
    console.log( 'from: ' , from );
    console.log( 'to: ' , to );
    document.title = to.meta.title ;
    return true ;
});

// 创建Vue应用
const app = createApp(App);

// 全局范围启用 ElementPlus
app.use( ElementPlus );

// 4、启用路由支持
app.use( router );

// 挂载
app.mount('#app');
